export function markdownToPlainText(markdown: string) {
  // 使用正则表达式替换 Markdown 语法
  // 1. 替换标题（# 开始的行）
  // 2. 替换斜体（* 或 _ 包围的文本）
  // 3. 替换粗体（** 或 __ 包围的文本）
  // 4. 替换代码块（``` 包围的文本，这里简单处理为移除）
  // 5. 替换列表（* 或 - 开头的行）
  // 6. 替换链接（[链接文本](链接地址)，这里简单处理为只保留链接文本）
  // 7. 替换图片（![图片描述](图片链接)，这里简单处理为只保留图片描述）
  // 注意：这个列表并不完整，Markdown 语法还有很多其他元素

  // 替换标题
  markdown = markdown.replace(/^# .*/gm, (match) => match.slice(2).trim());

  // 替换斜体和粗体（这里只处理单行情况）
  markdown = markdown.replace(/([*_]{1,2})([^`_*\n]+?)([*_]{1,2})/g, (match, start, content, end) => {
    // 如果 start 和 end 相同，则认为是斜体或粗体，否则可能是错误的 Markdown 语法
    if (start === end) {
      return content;
    }
    return match; // 如果不是匹配的 Markdown 语法，则保留原样
  });

  // 替换代码块（简单处理为移除）
  markdown = markdown.replace(/```[\s\S]*?```/gm, '');

  // 替换列表（简单处理为移除 * 或 - 开头的字符）
  markdown = markdown.replace(/^[-*]\s+/gm, '');

  // 替换链接（简单处理为只保留链接文本）
  markdown = markdown.replace(/\[([^\]]*)\]\(([^)]*)\)/gm, (match, text) => text);

  // 替换图片（简单处理为只保留图片描述）
  markdown = markdown.replace(/!\[([^\]]*)\]\(([^)]*)\)/gm, (match, alt) => alt);

  // 去除其他可能的 Markdown 语法（如表格、转义字符等）需要更复杂的处理
  // 这里只是简单地返回剩余的文本

  return markdown.trim();
}
